package com.service.impl;

import com.alibaba.druid.util.StringUtils;
import com.dao.GoodsTypeDao;
import com.dao.impl.GoodsTypeDaoImpl;
import com.pojo.TbGoodsType;
import com.service.GoodsTypeService;

import java.sql.SQLException;
import java.util.List;

public class GoodsTypeServiceImpl implements GoodsTypeService {

    private GoodsTypeDao goodsTypeDao=new GoodsTypeDaoImpl();

    @Override
    public List<TbGoodsType> findAllSecondLevelType() throws SQLException {

        return goodsTypeDao.findAllSecondLevelType();
    }

    @Override
    public void addType(String name, String parent) throws SQLException {
        if(StringUtils.isEmpty(name)||StringUtils.isEmpty(parent)){
            throw new RuntimeException();

        }
        goodsTypeDao.addType(name,parent);

    }

    @Override
    public int deleteType(String id) {
        //删除分类,但是分类会有子分类,所以我们需要确定删除父分类的时候需要怎么办
        //比如如果还有正常的子类,则不允许删除
        //或者删除的时候顺便删除所有的子类
        //此处我们选择不允许删除
        //1 先查询有没有正常的子分类
        List<TbGoodsType>ids=findTypeByPIdAndStaus(id, 1);
        if(ids==null||ids.size()==0){
            //代表没有数据,可以删除
            return goodsTypeDao.deleteType(id);
        }
        return -1;// -1代表不允许删除
    }

    @Override
    public List<TbGoodsType> findTypeByPIdAndStaus(String pid, int status) {
        return goodsTypeDao.findIdByPIdAndStaus(pid,status);
    }
}
